package at.horario.service.impl;

import at.horario.dao.CelulaDao;
import at.horario.dao.ProfessorDao;
import at.horario.model.Celula;
import at.horario.model.Horario;
import at.horario.service.CelulaManager;

import java.util.List;

public class CelulaManagerImpl extends GenericManagerImpl<Celula, Long> implements CelulaManager {
    private CelulaDao celulaDao;
    private ProfessorDao professorDao;

    public CelulaManagerImpl(final CelulaDao celulaDao) {
        super(celulaDao);
        this.celulaDao = celulaDao;
    }

    public void setProfessorDao(ProfessorDao professorDao) {
        this.professorDao = professorDao;
    }

    public List<Celula> getCelulas(Horario horario, int first, int count) {
        return celulaDao.getCelulas(horario, first, count);
    }

    public Integer countCelulas(Horario horario) {
        return celulaDao.countCelulas(horario);
    }

    public List<Celula> getCelulas(Horario horario, Integer professorNum) {
        return celulaDao.getCelulas(horario, professorNum);
    }

    public int countProfessores(Horario horario) {
        return professorDao.count(horario);
    }
}
